// 这个文件内，存放的是所有用户相关的请求
import http from '@/utils/request.js'
// import { getUser } from '@/utils/storage.js'
/*
    axios({
        method: 请求方式,
        url: 请求地址,
        data: 请求体中的参数， post/patch/put
        params: 拼接在地址栏的参数， ger/delete
        headers: 请求头(token令牌)
    })
*/

// 一旦封装好了，将来一旦接口路径发生变化，也只需要修改这个模块中的代码即可

/*
用户登录请求
*/

export const reqUserLogin = (mobile, code) => {
  return http({
    method: 'post',
    url: '/mp/v1_0/authorizations',
    data: {
      mobile,
      code
    }
  })
}

// 文档注释jsDoc, /** + 回车
/**
 * 请求用户信息
 */

export const reqGetUserInfo = () => {
  // const userInfo = JSON.parse(localStorage.getItem('userInfo'))
  // const userInfo = getUser()
  return http({
    method: 'get',
    url: '/mp/v1_0/user/profile'
    // 配置请求头，在请求头中，需要传递token参数(令牌) => 用于身份认证
    // headers: {
    //   Authorization: `Bearer ${userInfo.token}`
    // }
    // 这里不再需要携带请求头了，会在axios请求拦截器自动添加
  })
}

/**
 * 修改用户信息
 * @param {*} data {name, intro, email}
 */
export const reqModUserProfile = data => {
  return http({
    method: 'patch',
    url: '/mp/v1_0/user/profile',
    data
  })
}

/**
 * 修改头像
 * @param {*} formData
 */
export const reqModUserImage = formData => {
  return http({
    method: 'patch',
    url: '/mp/v1_0/user/photo',
    // axios请求，data参数，也支持formData的格式
    data: formData
  })
}
